起動ディスクでCD-ROMを認識する
A:(延さん)
そうです。Windows95の起動ディスク(アプリケーションの追加と削除で作る)で立ち上げた状態というのはWindows95ではなくて、MS-DOSというOSが動いています。正確な表現ではないですが、MS-DOSではシステムで認識できるのはハードディスクドライブとフロッピーディスクドライブだけで、それ以外の機器は必ず特定のドライバが必要です。ですからMS-DOSでCD-ROMなどを使いたい場合は、そのドライバをシステムに組み込む必要があります。
Q:(一郎兄さん)
では、そのドライバってのを組み込めば認識するんかい?
A:(延さん)
そうです。OSR2のWindows95などは全てCD-ROMで配布されていますからセットアップには起動ディスクで立ち上げた状態でCD-ROMを認識することは不可欠ですよね。
Q:(憲さん)
憲さんです。CD-ROMなんてみんな使うのにどうしてあらかじめ組み込んでおいてくれないのでしょう?
A:(延さん)
ドライバというのは基本的に機器依存なんだよ。ユーザがどのようは機器(この場合はCD-ROM)を使うか分からないソフトウェア会社(もちろんマイクロソフト)としては、あらかじめ起動ディスクに組み込んでしまう訳にいかないんだ。
Windows95にはプラグアンドプレイという機能があって、接続された機器の種類を判別して適切なドライバを自動的に組み込んでくれるんだけど、MS-DOSというOSにはそのような機能がないので、利用者がいちいち組み込まないといけないという訳。
Q:(のりこ)
でもWindows98では、起動ディスクからCD-ROMを認識できたわよ。
A:(延さん)
姉貴、超初心者のわりにはいい指摘だね。そうWindows98ではついに起動ディスクでCD-ROMが認識できるようになったんだよ。
Q:(憲さん)
プラグアンドプレイができるようになったのですか?
A:(延さん)
残念ながら、そうではないようだね。後でも説明するけど、機器依存とは言ってもかなり汎用性が高いんだよ。CD-ROMのドライバーって。結局そのへんに期待して汎用性の高そうなドライバを複数あらかじめ用意して、どれかで動くだろうという結構アバウトは方法のようなんだ。まあ僕の場合アップグレード版しか見てないけど、製品版も似たようなものだと思うよ。
だから動作しない場合も稀にあるということを既に聞いています。特にSCSIのCD-ROMの場合、後述するようにSCSIホストアダプターのためのASPIマネージャというのを組み込む必要があるのだけど、Microsoftが用意したASPIマネージャに、Tekramなどかなり多くのSCSIホストアダプターで使われているSymBiosという会社のSCSIチップに対応したものがないので、結局独自に組み込む必要があると聞いています。
Q:(憲さん)
結局完全ではないということですね。
A:(延さん)
そうだね。逆にWindows95の時でもメーカー製のパソコンなんかは、大抵CD-ROMなどのドライバを組み込んだセットアップディスクというものが添付されています。メーカーパソコンの場合、使用するCD-ROMが既に特定していますから、正しいドライバを独自に組み込んでしまうことができる訳ね。
みんなのマシンはメーカー製だからセットアップディスクが付いていたでしょ。一郎兄さんのFMVなんかはメンテナンスディスクという名称のセットアップディスクが添付されていたはずですが。
Q:(一郎兄さん)
ああ、あのディスクがCD-ROMのドライバを組み込んである起動ディスクなわけね。ただあれで起動すると勝手にセットアップをはじめてしまうのだけど。
A:(延さん)
そうなんですよね。余計なことをするようになっているセットアップディスクが多いですね。中にはフォーマットもしてしまうものもあるようです。確かあきつぐのメビウスがそうだったよね。
Q:(あきつぐ)
そうそう、メニューに従っていったら、フォーマットしますかって聞くから、そのままYesで進んでしまって、フォーマットしちゃったよ。アプリケーションも全部入れ直さなくちゃならなくて、とても大変だった。
A:(延さん)
結構余計なお世話的起動ディスクが多いね。まああきつぐの場合は、問い合わせがあったんだから、そこで拒否しても良かった訳だけど、初心者には何を拒否すればいいのかも分からないもんね。それにもし自分で別のCD-ROMなどを買ってきて繋げたら、途端に使えなくなってしまいます。ここは頑張って自分で独自の起動ディスクを作る方法を覚えてみましょうか?
Q:(貴子)
難しいの?
A:(延さん)
全然! 頑張ってみましょうよ。
Q:(初心者の皆さん)
はーい!
A:(延さん)
まずATAPIのCD-ROMを認識するには次の作業が必要です。
最初に兎にも角にもドライバというプログラムファイルを用意します。ATAPIのCD-ROMの場合、正確にはATAPIのMS-DOS用ドライバが必要ですが、CD-ROM用DOSドライバなどという場合もあります。メーカー製のパソコンの場合、セットアップディスクに入っていますし、どこかにドライバの入ったディスクがある場合もあります。CD-ROMの別に購入した場合も、パッケージ品ならほぼ確実にDOS用ドライバとして、製品に添付されていると思います。バルク品でもDOSのドライバくらいならフロッピーで添付されていることが多いですから、よく探してみましょう。
どうしてもない場合でも、大抵Web上で手に入れることができます。少なくともドライブのメーカーと型はちゃんと把握しておきましょう。それと実はこのATAPIのDOSドライバというのは、大変汎用性が高くて、他のメーカーのものでも結構動いてしまいます。以前松下のCD-ROMで別の3社のドライバがいずれも使えました。因みにドライバのファイル名は必ず、sysという拡張子がついています。
ドライバを用意したら、次にシステムへの組み込みですが、具体的にはドライバを起動ディスクに入れると共に、CONFIG.SYSというファイルにデバイス文を記述することで組み込みます。このファイルをメモ帳か何かで編集しましょう。
最初、CONFIG.SYSファイルは以下のような文だけが書かれていると思います。
[CONFIG.SYS (初期状態 Windows95 OSR2の場合)]
DEVICE=BILING.SYS DEVICE=JFONT.SYS /MSG=OFF DEVICE=JDISP.SYS /HS=LC DEVICE=JKEYB.SYS DEVICE=HIMEM.SYS |
今ここに貴子のFMV DESKPOWER SEの場合で説明しましょう。このマシンのCD-ROMは松下寿製で、ATAPIドライバ「CR_ATAPI.SYS」がセットアップディスクのほかにアプリケーションCDにも入っていました。このドライバをCONFIG.SYSファイルに組み込んでみます。
[CONFIG.SYS(ATAPIドライバの組み込み)]
DEVICE=BILING.SYS DEVICE=JFONT.SYS /MSG=OFF DEVICE=JDISP.SYS /HS=LC DEVICE=JKEYB.SYS DEVICE=HIMEM.SYS REM *** ATAPIデバイスドライバ for ATAPI-CD-ROM DEVICE=CR_ATAPI.SYS /D:MSCD000 |
最後の1行がそうです。「DEVICE=ATAPIドライバ名 オプション...」という書式です。
Q:(あきつぐ)
/D:MSCD000って何?
A:(延さん)
/D:というのはデバイスオプションスイッチといって、その直後にデバイス名を指定します。このデバイス名(上記の場合MSCD000)はなんでもいいのです。適当なもので構いません。ただし後で説明するMSCDEX.EXEのオプションと一致させなければいけません。
Q:(貴子)
適当でいいけど、無いとだめなのね?
A:(延さん)
そう。デバイスオプションスイッチは必ず記述して下さい。
そして最後にMS-DOSのCD拡張です。MS-DOSというOSで採用されているファイルシステムはFAT(File Allocation Table)というものですが、CD-ROMではそれと全く違うファイルシステムISO 9660が採用されています。そこでMS-DOSがこのCD-ROMのファイルシステムを使えるように、MS-DOSを拡張してやる必要があります。具体的にはMSCDEX.EXE(MicroSoft Compact Disk EXtension)というプログラムを実行するだけです。手でコマンド入力してもいいのですが、MS-DOSにもWindowsのスタートアップのように起動時にプログラムを自動実行させる方法があるので、それを利用します。
AUTOEXEC.BATというファイルにMSCDEX.EXEを実行する文を記述します。このAUTOEXEC.BATというファイルがその名前が示しているようにMS-DOSが起動されると自動的に実行されるバッチファイルで、ここに自動実行したいコマンドやプログラムを記述しておけば、自動的に実行されます。
メーカー製のパソコンなどで、セットアップディスクで起動しただけで、勝手にセットアップやフォーマットをはじめてしまうのは、みなこのファイルにそのようなコマンドが記述されているのです。
因みにこのAUTOEXEC.BATファイルは、元々の起動ディスクには存在しないので、新規作成で作って下さい。
Q:(一郎兄さん)
ところでそのMSCDEX.EXEというプログラムはどこにあるの?
A:(延さん)
あっそうでしたね。このファイルはWindows95のCD-ROMにも入ってますし、Windowsフォルダ\Commandというフォルダにもあります。で、見つけたらやはり起動ディスクにいれ、AUTOEXEC.BATに次のように記述して、実行させます。
[AUTOEXEC.BAT(MSCDEXの実行)]
A:\MSCDEX.EXE /D:MSCD000 |
やはりデバイスオプションスイッチが記述してあり、CONFIG.SYSに記述したドライバ組み込みのデバイス文で指定したものと同じものを指定します。
これでドライバの組み込みとCD-ROMを読める環境が整います。どうです? 簡単でしょ。
Q:(憲さん)
なんだ結構簡単だったんですね。しかしSCSIのCD-ROMも同じようにできるのですか?
A:(延さん)
さっきもちょっと説明したけど、SCSIの場合はちょっと違います。違うというか、もう一つだけやっておかねばならないことがあります。
それはSCSIのドライバの組み込みです。正確にはSCSIホストアダプタのASPIマネージャを組み込む必要があります。ASPIマネージャもやはりSCSIカードなどに添付されているのが普通ですが、WebなどでGetすることもできます。
Q:(貴子)
「ASPIマネージャ」って何?
A:(延さん)
正確に説明すると難しいというか、SCSIの歴史からひも解いていかないとならないけど、名前が示す通り単なるマネージャで、まあSCSIカードのドライバだと思っていても構わないです。因みに「ASPI」とはAdvanced SCSI Program Interfaceの頭文字です。
組み込み方は、CD-ROMのデバイスドライバの場合と同様、CONFIG.SYSにデバイス文を記述することで行います。注意しなければならないのは、必ずデバイスドライバより先に組み込まなければならないことです。具体的にはデバイス文を先に書けばいいだけですが。
私の自作マシンは、SCSIカードとしてAdaptecのAHA-2940Uを、SCSI CD-ROMにPioneerのDR-533を使っていますが、次にその場合の記述例を示します。
[CONFIG.SYS(ASPIマネージャとSCSI CD-ROMドライバの組み込み)]
DEVICE=BILING.SYS DEVICE=JFONT.SYS /MSG=OFF DEVICE=JDISP.SYS /HS=LC DEVICE=JKEYB.SYS DEVICE=HIMEM.SYS REM *** ASPIマネージャ for Adaptec AHA2940/U/AU/UW DEVICE=ASPI8DOS.SYS REM *** ASPIデバイスドライバ for Pioneer DR-533 DEVICE=DRD60ASP.SYS /D:MSCD000 |
AUTOEXEC.BATに関しては、ATAPIの場合と全く同じです。
またデバイスドライバの方はATAPIのものと同様に汎用性が高く、ホストアダプタ(SCSIカード)側が持っている(用意している)CD-ROM用のデバイスドライバが大抵のCD-ROMに使えてしまいますから、デバイスドライバが手に入れられない場合も困ることはないでしょう。 Adaptecの場合ASPICD.SYSというCD-ROM用の汎用デバイスドライバがあり、大抵のCD-ROMがこれでOKです。私のPioneerのDR-533も大丈夫でした。Tekramのカードなどにもこのような汎用デバイスドライバ(TRMCD.SYS)があります。
更にホストアダプタも選ばない汎用デバイスドライバもWeb上にあり、結構使えます。少なくとも私の環境では問題なく使えました。ものはヴェクターのライブラリにありました。
どうです? こちらもどうってことないでしょ。
Q:(貴子)
ええ簡単ね。これなら私にもできるわ。
A:(延さん)
そうだろ。それにここまでできれば、後MOやPD(リムーバブルディスクとして使う場合)、Zipなどのリムーバブルディスクを認識する方法もいたって簡単だよ。CD-ROMの場合と同じようにASPIマネージャの組み込みの後にMOやPDのデバイスドライバを組み込めばいいだけ。その上リムーバブルディスクの場合は、ファイルシステムがFATなので、CD-ROMのようにMS-DOSを拡張する必要がありません。従ってAUTOEXEC.BATで何も実行する必要がないんです。
ドライバはやはり製品に添付されているか、Webなどでも取得できます。またCD-ROMの場合と同じようにSCSIホストアダプタ側に、リムーバブルディスク汎用のデバイスドライバが普通は用意されています。AdaptecではASPIDISK.SYS、TekramではTRMDISK.SYSという汎用リムーバブルディスク用DOSデバイスドライバが用意されてました。いずれも私は使ったことがありませんが、大抵のリムーバブルディスクに使えるはずです。
以下に私のマシンのコニカのMO(OMD-7060)を専用のDOSドライバで認識させた場合のCONFIG.SYSを示します。
[CONFIG.SYS(MOドライバの組み込み)]
DEVICE=BILING.SYS DEVICE=JFONT.SYS /MSG=OFF DEVICE=JDISP.SYS /HS=LC DEVICE=JKEYB.SYS DEVICE=HIMEM.SYS REM *** ASPIマネージャ for Adaptec AHA2940/U/AU/UW DEVICE=ASPI8DOS.SYS REM *** ASPIデバイスドライバ for KONICA OMD-7060 DEVICE=MSDRVR.SYS -OB -O2K |
Q:(憲さん)
CD-Rなんかもこれでいける訳ですか?
A:(延さん)
残念ながら、CD-Rを単なるCD-ROMとして使うにはCD-ROMの場合と同様の方法でいいけど、書き込むために使えません。CD-Rへの書き込みにはドライバだけではだめで専用のソフトが必要なのだけど、そもそもMS-DOS上で動くCD-R書き込みソフトがないんですよ。たとえ作ったとしても、とても起動ディスクに収まるようなコンパクトなものは作れないだろうね。テープドライブの場合もほぼ同じような事情で起動ディスクから使うのは難しいです。
ネットワークドライブはできるようですが、私はやったことがありません。今調査中です。
後、沢山のドライバを組み込むとコンベンショナルメモリが足りなくなるという問題が起こります。これが起こるとインストール用のSetup.exeが実行できないという事態にもなります。
Q:(憲さん)
憲さんのマシンはメモリに64MB積んでいるの大丈夫だと思います。
A:(延さん)
ところがね憲さん。コンベンショナルメモリというのは物理メモリをいくら積んでも起こるMS-DOSの非常に厄介な問題なんだよ。たとえ256MBのメモリを積んでもMS-DOSでメモリ不足ですと言われてしまうんだ。
Q:(憲さん)
そっそっそうなんですか。それは知りませんでした。
A:(延さん)
まあ回避策というか、少なくともWindows95のSetup.exeを実行するくらいにメモリを空ける方法は簡単なので、また今度説明します。因みにこのことに関してはさすがにWindows98で新しくなった起動ディスクはほぼ完璧に手当てされているので、参考にしてみるといいでしょう。
Q:(あきつぐ)
ところでノートパソコンでPCカード経由のCD-ROMなんかはどうなの?
A:(延さん)
当然ATAPIのCD-ROMなのか、SCSIなのかによって上記の手続きは必要な訳だけど、PCカードの場合は更に予めPCカードを認識させるため、そのドライバを別途組み込む必要があります。具体的にはソケットサービスドライバ、カードサービスドライバ、イネーブラなどです。これらを一まとめにしたようなポイントイネーブラだけでいい場合もあります。詳細はこちら「起動ディスク(DOS)でPCカードを使う方法」に記載しておきます。基本的はPCカードの「MS-DOSまたはWindows3.1での使い方」といったマニュアルに従うことになると思います。またMS-DOSのCD拡張に関しては変わりありませんので、Autoexec.batは同様に作ればいいはずです。
Q:(あきつぐ)
ところでCD-ROMならWindows95のインストールに必要だから、起動ディスクで立ち上げた状態で認識したいというのは分かるけど、MOとかを起動ディスクで認識する必要ってあるの?
A:(延さん)
それがあるんだな。それについてはこちら「システムをフルバックアップしたい)」で説明しています。
さて皆さん、起動ディスクでCD-ROMなどを認識する方法はよくわかったでしょ。
Q:(初心者の皆さん)
はーい!